맨위로가기

Pip (패키지 관리자)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Pip는 파이썬 패키지를 설치하고 관리하는 데 사용되는 패키지 관리자이다. 2008년 이안 비킹에 의해 easy install의 대안으로 pyinstall로 시작되었으며, "Pip Installs Packages"의 재귀 약어이다. pip는 명령 줄 인터페이스를 통해 파이썬 패키지를 쉽게 설치하고 제거할 수 있으며, requirements 파일을 사용하여 패키지 목록과 버전을 관리하여 가상 환경에서 패키지를 재현할 수 있다. 또한 사용자 정의 프로젝트 설치와 사용자 지정 저장소를 지원하며, 웹 호스팅 서비스에서도 활용된다.

더 읽어볼만한 페이지

  • 파이썬 소프트웨어 - 패키지킷
    패키지킷은 다양한 리눅스 배포판에서 패키지 설치, 업데이트 및 관리를 단순화하기 위해 서로 다른 패키지 관리 시스템을 통합하여 일관된 인터페이스를 제공하는 시스템이다.
  • 파이썬 소프트웨어 - PyPy
    PyPy는 파이썬의 호환 가능하고 빠른 구현을 목표로 하는 동적 언어 구현 프레임워크이며, RPython을 사용하여 JIT 컴파일러를 생성하고, Python 2.7과 3.10 버전을 지원한다.
  • 자유 패키지 관리 시스템 - F-Droid
    F-Droid는 2010년 키어런 걸트니엑스가 설립한 안드로이드용 자유 소프트웨어 앱 저장소로, 구글 플레이 스토어에 없는 자유/오픈 소스 소프트웨어 앱을 제공하며 감시, 검열 저항, 개인 정보 보호에 중점을 둔 클라이언트 앱, 저장소 관리 도구, 웹사이트 생성기 등의 하위 프로젝트로 구성된다.
  • 자유 패키지 관리 시스템 - 어드밴스트 패키징 툴
    어드밴스트 패키징 툴(APT)은 데비안 계열 리눅스 배포판에서 패키지를 관리하는 도구 모음으로, 패키지 설치, 삭제, 업데이트, 업그레이드 기능을 제공하며, 특히 패키지 간 의존성을 자동 관리하는 특징을 가진다.
Pip (패키지 관리자) - [IT 관련 정보]에 관한 문서
개요
종류패키지 관리 시스템
개발자이안 비킹
최초 릴리스2008년 10월 28일
최신 안정화 버전22.3.1
최신 릴리스 날짜2022년 11월 5일
프로그래밍 언어파이썬
운영체제운영체제 독립적
플랫폼파이썬
라이선스MIT
웹사이트pip 공식 웹사이트

2. 역사

pip는 2008년 이안 비킹(virtualenv 패키지 제작자)이 easy install의 대안으로 `pyinstall`이라는 이름으로 처음 개발하였다.[8][9] pip라는 이름은 이안 비킹의 블로그 게시물에서 받은 여러 제안 중 하나에서 선택되었다.[10] 이안 비킹에 따르면, 이 이름은 "Pip Installs Packages"의 재귀 약어이다.[11] 2011년에는 파이썬 패키징 권한(PyPA)이 설립되어 칼 메이어, 브라이언 로스너, 야니스 라이델이 이끄는 비킹으로부터 pip와 virtualenv의 유지 관리를 인계받았다.[9]

2014년 12월 22일에 릴리스된 pip 버전 6.0부터 버전 명명 체계가 X.Y 형식으로 변경되어 버전 레이블에서 선행 1이 삭제되었다.[12]

3. 명령 줄 인터페이스

pip의 주요 장점은 명령 줄 인터페이스를 통해 파이썬 소프트웨어 패키지를 쉽게 설치하고 관리할 수 있다는 점이다.

패키지를 설치하려면 다음 명령어를 사용한다.

:pip install some-package-name

pip install virtualenv의 출력


패키지를 제거하려면 다음 명령어를 사용한다.

:pip uninstall some-package-name

pip는 "requirements" 파일을 통해 패키지 목록과 버전을 관리하는 기능을 제공한다.[13] 이를 통해 다른 환경이나 가상 환경에서 동일한 개발 환경을 쉽게 구축할 수 있다. 다음은 requirements 파일과 함께 사용하는 명령어이다.[14]

:pip install -r requirements.txt

특정 파이썬 버전에 대한 패키지를 설치하려면 다음 명령어를 사용할 수 있다.

:pip${version} install some-package-name

(여기서 ${version}은 2, 3, 3.4 등으로 대체한다.)

3. 1. 사용자 정의 프로젝트 설치

`setup.py` 파일을 사용하여 사용자 정의 프로젝트를 로컬에 설치할 수 있다. 프로젝트 루트 디렉터리에서 `pip install -e .` 명령어를 실행하여 개발 모드로 설치할 수 있다.

파이썬 프로젝트는 다음 파일 구조를 가져야 한다.

example_project/
├── exampleproject/ 소스 코드가 포함된 파이썬 패키지.
│ ├── __init__.py 폴더를 패키지로 만듭니다.
  └── example.py 예시 모듈.
└── README.md 프로젝트 정보가 포함된 README.



프로젝트 루트(위 구조의 `example_project`)에 다음과 같은 내용으로 `setup.py`를 추가할 수 있다.



from setuptools import setup, find_packages

setup(

name='example', # 패키지 이름. 이 이름은 프로젝트가 패키지로 가져올 때 사용됩니다.

version='0.1.0',

packages=find_packages(include=['exampleproject', 'exampleproject.*']) # Pip는 여기에 제공된 종속성을 자동으로 설치합니다.

)



프로젝트 루트 디렉터리에서 `pip install -e .` 명령어를 실행하여 사용자 지정 프로젝트를 설치한다.

4. 사용자 정의 저장소

pip는 기본 PyPI 저장소 외에도 사용자 지정 저장소를 지원한다.[15] 이러한 저장소는 HTTP(s) URL 또는 파일 시스템 위치에 있을 수 있다.

사용자 지정 저장소는 `-i` 또는 `--index-url` 옵션을 사용하여 지정할 수 있다.


  • HTTP(s) URL을 사용하는 경우:


```

pip install -i https://your-custom-repo/simple <패키지 이름>

```

  • 파일 시스템을 사용하는 경우:


```

pip install -i /path/to/your/custom-repo/simple <패키지 이름>

5. 웹 호스팅 서비스에서의 활용

pip는 헤로쿠와 같은 웹 호스팅 서비스에서 파이썬 애플리케이션의 의존성을 관리하는 데 사용된다.[19]

참조

[1] 웹사이트 Pip 0.2 https://pypi.org/pro[...] 2024-08-27
[2] 웹사이트 pip/LICENSE.txt https://github.com/p[...] 2018-06-01
[3] 웹사이트 Managing Python packages the right way https://opensource.c[...] Red Hat 2019-06-23
[4] 웹사이트 Tool recommendations — Python Packaging User Guide https://packaging.py[...] 2022-11-09
[5] 웹사이트 Python Enhancement Proposal 503 https://www.python.o[...]
[6] 웹사이트 pip install command line documentation https://pip.pypa.io/[...]
[7] 웹사이트 pip installation https://pip.pypa.io/[...] 2015-02-24
[8] 웹사이트 pyinstall: A New Hope http://www.openplans[...] 2020-03-04
[9] 웹사이트 Packaging History https://www.pypa.io/[...] 2020-03-04
[10] 웹사이트 pyinstall pybundles https://www.ianbicki[...] 2021-11-24
[11] 웹사이트 pyinstall is dead, long live pip! https://www.ianbicki[...] 2021-11-24
[12] 웹사이트 Changelog - pip documentation v22.3.1 https://pip.pypa.io/[...]
[13] 웹사이트 pip documentation http://www.pip-insta[...] The pip developers 2012-01-05
[14] 웹사이트 Most Important ''pip'' Commands for a Python Developer - DZone Open Source https://dzone.com/ar[...] 2019-06-23
[15] 웹사이트 Custom repository with pip install -i https://python.land/[...] 2022-01-12
[16] 웹사이트 pip documentation http://www.pip-insta[...] The pip developers 2012-01-05
[17] 웹사이트 pip installation https://pip.pypa.io/[...] 2015-02-24
[18] 문서 pip supports projects declaring dependencies that are required at install time using a pyproject.toml file https://pip.pypa.io/[...]
[19] 웹사이트 Getting Started with Python on Heroku/Cedar http://devcenter.her[...] Heroku 2012-01-05
[20] Github 1.0 release commit https://github.com/p[...]
[21] 웹인용 Release Notes https://pip.pypa.io/[...]
[22] 웹인용 LICENSE.txt https://github.com/p[...] 2015-07-25
[23] 문서 '[참고](Python 2.7 will retire in... , 2020.1.1)' https://pythonclock.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com